
/* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

京东云VPC
VPC相关API

OpenAPI spec version: v1
Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/

#import <Foundation/Foundation.h>

#import <JDCloudOCSDKVpc/VpcExecutor.h>


/// 删除弹性Ip
@implementation  VpcDeleteElasticIpExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"DELETE";
    self.url = @"/regions/{regionId}/elasticIps/{elasticIpId}";
    return self;
}
@end

/// 修改VpcPeering接口
@implementation  VpcModifyVpcPeeringExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"PUT";
    self.url = @"/regions/{regionId}/vpcPeerings/{vpcPeeringId}";
    return self;
}
@end

/// 修改networkAcl接口
@implementation  VpcModifyNetworkAclRulesExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/regions/{regionId}/networkAcls/{networkAclId}:modifyNetworkAclRules";
    return self;
}
@end

/// 修改弹性IP
@implementation  VpcModifyElasticIpExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"PATCH";
    self.url = @"/regions/{regionId}/elasticIps/{elasticIpId}";
    return self;
}
@end

/// 删除networkAcl接口
@implementation  VpcDeleteNetworkAclExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"DELETE";
    self.url = @"/regions/{regionId}/networkAcls/{networkAclId}";
    return self;
}
@end

/// 删除子网
@implementation  VpcDeleteSubnetExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"DELETE";
    self.url = @"/regions/{regionId}/subnets/{subnetId}";
    return self;
}
@end

/// 查询子网列表
@implementation  VpcDescribeSubnetsExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/regions/{regionId}/subnets/";
    return self;
}
@end

/// 查询弹性网卡列表
@implementation  VpcDescribeNetworkInterfacesExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/regions/{regionId}/networkInterfaces/";
    return self;
}
@end

/// 移除安全组规则
@implementation  VpcRemoveNetworkSecurityGroupRulesExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/regions/{regionId}/networkSecurityGroups/{networkSecurityGroupId}:removeNetworkSecurityGroupRules";
    return self;
}
@end

/// 修改安全组属性
@implementation  VpcModifyNetworkSecurityGroupExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"PATCH";
    self.url = @"/regions/{regionId}/networkSecurityGroups/{networkSecurityGroupId}";
    return self;
}
@end

/// 添加安全组规则
@implementation  VpcAddNetworkSecurityGroupRulesExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/regions/{regionId}/networkSecurityGroups/{networkSecurityGroupId}:addNetworkSecurityGroupRules";
    return self;
}
@end

/// 创建networkAcl接口
@implementation  VpcCreateNetworkAclExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/regions/{regionId}/networkAcls/";
    return self;
}
@end

/// 查询配额信息
@implementation  VpcDescribeQuotaExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/regions/{regionId}/quotas/";
    return self;
}
@end

/// 创建路由表
@implementation  VpcCreateRouteTableExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/regions/{regionId}/routeTables/";
    return self;
}
@end

/// 查询路由表信息详情
@implementation  VpcDescribeRouteTableExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/regions/{regionId}/routeTables/{routeTableId}";
    return self;
}
@end

/// 删除安全组
@implementation  VpcDeleteNetworkSecurityGroupExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"DELETE";
    self.url = @"/regions/{regionId}/networkSecurityGroups/{networkSecurityGroupId}";
    return self;
}
@end

/// 查询VpcPeering资源列表
@implementation  VpcDescribeVpcPeeringsExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/regions/{regionId}/vpcPeerings/";
    return self;
}
@end

/// 删除私有网络
@implementation  VpcDeleteVpcExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"DELETE";
    self.url = @"/regions/{regionId}/vpcs/{vpcId}";
    return self;
}
@end

/// 查询Acl列表
@implementation  VpcDescribeNetworkAclsExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/regions/{regionId}/networkAcls/";
    return self;
}
@end

/// 查询子网信息详情
@implementation  VpcDescribeSubnetExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/regions/{regionId}/subnets/{subnetId}";
    return self;
}
@end

/// 查询安全组信息详情
@implementation  VpcDescribeNetworkSecurityGroupExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/regions/{regionId}/networkSecurityGroups/{networkSecurityGroupId}";
    return self;
}
@end

/// 查询安全组列表
@implementation  VpcDescribeNetworkSecurityGroupsExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/regions/{regionId}/networkSecurityGroups/";
    return self;
}
@end

/// 查询Vpc信息详情
@implementation  VpcDescribeVpcExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/regions/{regionId}/vpcs/{vpcId}";
    return self;
}
@end

/// 给子网解绑NetworkAcl接口
@implementation  VpcDisassociateNetworkAclExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/regions/{regionId}/networkAcls/{networkAclId}:disassociateNetworkAcl";
    return self;
}
@end

/// 移除networkAcl规则
@implementation  VpcRemoveNetworkAclRulesExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/regions/{regionId}/networkAcls/{networkAclId}:removeNetworkAclRules";
    return self;
}
@end

/// 路由表绑定子网接口
@implementation  VpcAssociateRouteTableExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/regions/{regionId}/routeTables/{routeTableId}:associateRouteTable";
    return self;
}
@end

/// 查询私有网络列表
@implementation  VpcDescribeVpcsExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/regions/{regionId}/vpcs/";
    return self;
}
@end

/// 创建安全组
@implementation  VpcCreateNetworkSecurityGroupExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/regions/{regionId}/networkSecurityGroups/";
    return self;
}
@end

/// 创建子网
@implementation  VpcCreateSubnetExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/regions/{regionId}/subnets/";
    return self;
}
@end

/// 删除路由表
@implementation  VpcDeleteRouteTableExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"DELETE";
    self.url = @"/regions/{regionId}/routeTables/{routeTableId}";
    return self;
}
@end

/// 查询VpcPeering资源详情
@implementation  VpcDescribeVpcPeeringExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/regions/{regionId}/vpcPeerings/{vpcPeeringId}";
    return self;
}
@end

/// 移除路由表规则
@implementation  VpcRemoveRouteTableRulesExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/regions/{regionId}/routeTables/{routeTableId}:removeRouteTableRules";
    return self;
}
@end

/// 创建VpcPeering接口
@implementation  VpcCreateVpcPeeringExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/regions/{regionId}/vpcPeerings/";
    return self;
}
@end

/// 查询路由表列表
@implementation  VpcDescribeRouteTablesExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/regions/{regionId}/routeTables/";
    return self;
}
@end

/// 给网卡分配secondaryIp接口
@implementation  VpcAssignSecondaryIpsExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/regions/{regionId}/networkInterfaces/{networkInterfaceId}:assignSecondaryIps";
    return self;
}
@end

/// 修改弹性网卡接口
@implementation  VpcModifyNetworkInterfaceExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"PATCH";
    self.url = @"/regions/{regionId}/networkInterfaces/{networkInterfaceId}";
    return self;
}
@end

/// 修改安全组规则
@implementation  VpcModifyNetworkSecurityGroupRulesExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/regions/{regionId}/networkSecurityGroups/{networkSecurityGroupId}:modifyNetworkSecurityGroupRules";
    return self;
}
@end

/// 查询弹性ip列表
@implementation  VpcDescribeElasticIpsExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/regions/{regionId}/elasticIps/";
    return self;
}
@end

/// 查询弹性网卡信息详情
@implementation  VpcDescribeNetworkInterfaceExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/regions/{regionId}/networkInterfaces/{networkInterfaceId}";
    return self;
}
@end

/// 修改networkAcl接口
@implementation  VpcModifyNetworkAclExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"PATCH";
    self.url = @"/regions/{regionId}/networkAcls/{networkAclId}";
    return self;
}
@end

/// 给网卡解绑弹性Ip接口
@implementation  VpcDisassociateElasticIpExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/regions/{regionId}/networkInterfaces/{networkInterfaceId}:disassociateElasticIp";
    return self;
}
@end

/// 删除VpcPeering接口
@implementation  VpcDeleteVpcPeeringExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"DELETE";
    self.url = @"/regions/{regionId}/vpcPeerings/{vpcPeeringId}";
    return self;
}
@end

/// 创建网卡接口，只能创建辅助网卡
@implementation  VpcCreateNetworkInterfaceExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/regions/{regionId}/networkInterfaces/";
    return self;
}
@end

/// 创建私有网络
@implementation  VpcCreateVpcExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/regions/{regionId}/vpcs/";
    return self;
}
@end

/// 修改路由表规则
@implementation  VpcModifyRouteTableRulesExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/regions/{regionId}/routeTables/{routeTableId}:modifyRouteTableRules";
    return self;
}
@end

/// 添加路由表规则
@implementation  VpcAddRouteTableRulesExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/regions/{regionId}/routeTables/{routeTableId}:addRouteTableRules";
    return self;
}
@end

/// 修改路由表属性
@implementation  VpcModifyRouteTableExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"PATCH";
    self.url = @"/regions/{regionId}/routeTables/{routeTableId}";
    return self;
}
@end

/// 给网卡删除secondaryIp接口
@implementation  VpcUnassignSecondaryIpsExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/regions/{regionId}/networkInterfaces/{networkInterfaceId}:unassignSecondaryIps";
    return self;
}
@end

/// ElasticIp资源信息详情
@implementation  VpcDescribeElasticIpExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/regions/{regionId}/elasticIps/{elasticIpId}";
    return self;
}
@end

/// 给网卡绑定弹性Ip接口
@implementation  VpcAssociateElasticIpExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/regions/{regionId}/networkInterfaces/{networkInterfaceId}:associateElasticIp";
    return self;
}
@end

/// 给路由表解绑子网接口
@implementation  VpcDisassociateRouteTableExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/regions/{regionId}/routeTables/{routeTableId}:disassociateRouteTable";
    return self;
}
@end

/// 修改私有网络接口
@implementation  VpcModifyVpcExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"PATCH";
    self.url = @"/regions/{regionId}/vpcs/{vpcId}";
    return self;
}
@end

/// 给子网绑定networkAcl接口
@implementation  VpcAssociateNetworkAclExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/regions/{regionId}/networkAcls/{networkAclId}:associateNetworkAcl";
    return self;
}
@end

/// 修改子网接口
@implementation  VpcModifySubnetExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"PATCH";
    self.url = @"/regions/{regionId}/subnets/{subnetId}";
    return self;
}
@end

/// 创建一个或者多个弹性Ip
@implementation  VpcCreateElasticIpsExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/regions/{regionId}/elasticIps/";
    return self;
}
@end

/// 删除弹性网卡接口
@implementation  VpcDeleteNetworkInterfaceExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"DELETE";
    self.url = @"/regions/{regionId}/networkInterfaces/{networkInterfaceId}";
    return self;
}
@end

/// 查询networkAcl资源详情
@implementation  VpcDescribeNetworkAclExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"GET";
    self.url = @"/regions/{regionId}/networkAcls/{networkAclId}";
    return self;
}
@end

/// 添加networkAcl规则接口
@implementation  VpcAddNetworkAclRulesExecutor

-(id) initWithJDCloudClient:(VpcClient*)JDCloudClient
{
    self.jdCloudClient = JDCloudClient;
    self.method = @"POST";
    self.url = @"/regions/{regionId}/networkAcls/{networkAclId}:addNetworkAclRules";
    return self;
}
@end
